#ifndef PLAYERCONTROL_H
#define PLAYERCONTROL_H
#include "../Control/Controller.h"
#include "Viewer.h"

namespace View{
	class PlayerControl: public Viewer
	{
	public:
		PlayerControl(Control::Controller *C);
		PlayerControl(void);
		virtual ~PlayerControl(void);
		virtual void playerStateChanged()=0;
		/**
		Notify the playerControl that one of his managed player is required to play
		@param idPlayer the player to play
		*/
		virtual void toPlay(int idPlayer)=0;
		/**
		@inherited
		*/
		virtual void gameRefreshed()=0;
		/**
		Notify the playerControl that he should now manage this new player
		@param idPlayer the player now managed
		*/
		virtual void addControledColor(int idPlayer)=0;
		/**
		@inherited
		*/
		virtual void refreshAll()=0;

		/**
		@inherited
		*/
		virtual void gameStatusChanged()=0;

		/**
		@inherited
		*/
		virtual void endGame(int idPlayer)=0;

	};
}
#else
namespace View{
	class PlayerControl;
}
#endif
